rychle vymazani TListview
Otázka od: david.kopecek@hacktrack.com
24. 7. 2004 10:06
Zdravim
nevite nekdo jak se da rychle vymazat TListview kdyz obsahuje cca
10.000 polozek ?..
lv.beginupdate;
lv.clear;
lv.endupdate;
ma takovej sekavej efekt... zato kdyz v komponente TlistBox ktera ma
cca 20.000 zaznamu dam items.clear; tak to vymaze hodne rychle bez
jakyhokoliv sekani aplikace...
--
S pozdravem,
david
david.kopecek@hacktrack.com
Odpovedá: Petr Vones
24. 7. 2004 10:44
From: <david.kopecek@hacktrack.com>
> nevite nekdo jak se da rychle vymazat TListview kdyz obsahuje cca
> 10.000 polozek ?..
Pouzivat TListView ve virtualnim rezimu (OwnerData = True) a data si ukladat v
nejakych vlastnich strukturach. Pak se "vymaze" okamzite treba i pri nekolika
milionech polozek.
Petr Vones
Odpovedá: Andreas Bednarek
24. 7. 2004 11:11
> From: <david.kopecek@hacktrack.com>
> > nevite nekdo jak se da rychle vymazat TListview kdyz obsahuje cca
> > 10.000 polozek ?..
>
Nejlepe pouzivat LV ve virtualnim rezimu, ale podstatne pomuze, kdyz po dobu
mazani polozek das Visible := False. Tusim ze stejne tak pomuze uzavrit
Items.Clear mezi par BeginUpdate/EndUpdate, to by byl lepsi zpusob, ale to
uz si presne nevzpominam, kazdopadne Visible := False pomuze zasadne (ale
pro 10000 polozek to stejne nebude ono...).
Odpovedá: david.kopecek@hacktrack.com
24. 7. 2004 11:48
Ahoj
>> nevite nekdo jak se da rychle vymazat TListview kdyz obsahuje cca
>> 10.000 polozek ?..
PV> Pouzivat TListView ve virtualnim rezimu (OwnerData = True) a data si
ukladat v
PV> nejakych vlastnich strukturach. Pak se "vymaze" okamzite treba i pri
nekolika
PV> milionech polozek.
jo tohle pomohlo...
--
S pozdravem,
david
david.kopecek@hacktrack.com